package com.iplant.wms.service.po.pkg;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.iplant.base.po.BasePO;
import com.iplant.base.po.enums.DBSchemas;
import com.iplant.base.utils.annotation.po.DBBasePO;
import com.iplant.base.utils.annotation.condition.DBCondition;
import com.iplant.base.utils.annotation.condition.DBCondition.DBCompareType;
import com.iplant.base.utils.annotation.field.DBField;
import com.iplant.base.utils.annotation.join.DBJoin;

import java.io.Serializable;



/**
 * 容器 也可以是工装
 * 
 * @author ShrisJava
 *
 */
@DBBasePO(TableName = "mss_container", CheckName = {"Code"},
        Name = false,  CodeAuto = true,CodePrefix = "RQ-",
        Schemas = DBSchemas.WMS)
public class MSSContainer extends BasePO implements Serializable {
    private static final long serialVersionUID = 1L;

    @DBCondition
    @DBField
    public int TypeID = 0;
    @DBCondition(CompareType = DBCompareType.like)
    @DBJoin(name = "Code",tableName ="mss_containertype",tableAsName = "t2",
            Schemas = DBSchemas.WMS,MainTableField ="TypeID" )
    public String TypeCode = "";
    @DBCondition(CompareType = DBCompareType.like)
    @DBJoin(name = "Name",tableName ="mss_containertype",tableAsName = "t2",
            Schemas = DBSchemas.WMS,MainTableField ="TypeID" )
    public String TypeName = "";

    @DBJoin(name = "Length",tableName ="mss_containertype",tableAsName = "t2",
            Schemas = DBSchemas.WMS,MainTableField ="TypeID" )
    public double Length = 0;

    @DBJoin(name = "Width",tableName ="mss_containertype",tableAsName = "t2",
            Schemas = DBSchemas.WMS,MainTableField ="TypeID" )
    public double Width = 0;

    @DBJoin(name = "Height",tableName ="mss_containertype",tableAsName = "t2",
            Schemas = DBSchemas.WMS,MainTableField ="TypeID" )
    public double Height = 0;

    /**
     * 重量
     */
    @DBJoin(name = "Weight",tableName ="mss_containertype",tableAsName = "t2",
            Schemas = DBSchemas.WMS,MainTableField ="TypeID" )
    public double Weight = 0;

    /**
     * 承重
     */
    @DBJoin(name = "Bearing",tableName ="mss_containertype",tableAsName = "t2",
            Schemas = DBSchemas.WMS,MainTableField ="TypeID" )
    public double Bearing = 0;
    /**
     * 材料实质 如钢质 纸质 PVC 塑料等
     */
    @DBJoin(name = "Essence",tableName ="mss_containertype",tableAsName = "t2",
            Schemas = DBSchemas.WMS,MainTableField ="TypeID" )
    public String Essence = "";

    /**
     * 最小包装数限制
     */
    @DBJoin(name = "MinPackingNumber",tableName ="mss_containertype",tableAsName = "t2",
            Schemas = DBSchemas.WMS,MainTableField ="TypeID" )
    public int MinPackingNumber = 0;

    @JsonProperty("TypeID")
    public int getTypeID() {
        return TypeID;
    }

    public void setTypeID(int typeID) {
        TypeID = typeID;
    }

    @JsonProperty("TypeCode")
    public String getTypeCode() {
        return TypeCode;
    }

    public void setTypeCode(String typeCode) {
        TypeCode = typeCode;
    }

    @JsonProperty("TypeName")
    public String getTypeName() {
        return TypeName;
    }

    public void setTypeName(String typeName) {
        TypeName = typeName;
    }

    @JsonProperty("Length")
    public double getLength() {
        return Length;
    }

    public void setLength(double length) {
        Length = length;
    }

    @JsonProperty("Width")
    public double getWidth() {
        return Width;
    }

    public void setWidth(double width) {
        Width = width;
    }

    @JsonProperty("Height")
    public double getHeight() {
        return Height;
    }

    public void setHeight(double height) {
        Height = height;
    }

    @JsonProperty("Weight")
    public double getWeight() {
        return Weight;
    }

    public void setWeight(double weight) {
        Weight = weight;
    }

    @JsonProperty("Bearing")
    public double getBearing() {
        return Bearing;
    }

    public void setBearing(double bearing) {
        Bearing = bearing;
    }

    @JsonProperty("Essence")
    public String getEssence() {
        return Essence;
    }

    public void setEssence(String essence) {
        Essence = essence;
    }

    @JsonProperty("MinPackingNumber")
    public int getMinPackingNumber() {
        return MinPackingNumber;
    }

    public void setMinPackingNumber(int minPackingNumber) {
        MinPackingNumber = minPackingNumber;
    }


}
